package cn.tedu.tmall.admin.mall.dao.search.impl;

import cn.tedu.tmall.admin.mall.dao.search.IGoodsSearchRepository;
import cn.tedu.tmall.common.pojo.po.GoodsSearchPO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 处理搜索商品数据的存储库实现类
 *
 * @author java@tedu.cn
 * @version 3.0
 */
@Slf4j
@Repository
public class GoodsSearchRepositoryImpl implements IGoodsSearchRepository {

    @Autowired
    private GoodsElasticsearchRepositoryImpl goodsElasticsearchRepository;

    @Override
    public void save(GoodsSearchPO goods) {
        log.debug("开始执行【向搜索服务器中写入商品数据】的数据访问，参数：{}", goods);
        goodsElasticsearchRepository.save(goods);
    }

    @Override
    public void saveAll(List<GoodsSearchPO> goodsList) {
        log.debug("开始执行【向搜索服务器中写入商品数据列表】的数据访问，参数：{}", goodsList);
        goodsElasticsearchRepository.saveAll(goodsList);
    }

    @Override
    public void deleteById(Long id) {
        log.debug("开始执行【根据ID从搜索服务器中查询商品数据】的数据访问，参数：{}", id);
        goodsElasticsearchRepository.deleteById(id);
    }

    @Override
    public void deleteAll() {
        log.debug("开始执行【删除搜索服务器中的所有商品数据】的数据访问，参数：无");
        goodsElasticsearchRepository.deleteAll();
    }

}
